package com.example.xpvideo.entity;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.io.Serializable;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonInclude;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * 订单表(LsOrder)实体类
 *
 * @author 杨丽辉
 * @since 2021-08-25 16:06:07
 */
@JsonInclude(JsonInclude.Include.NON_NULL)
public class LsOrder implements Serializable {
    private static final long serialVersionUID = -31567698379282476L;
        /**
    *主键
    * 订单id
    * isnull 1
    */
        private Integer id;

    /**
    * 交易订单id(父订单id)
    * isnull 0
    */            private Integer tradeId;
    /**
    * 店铺id
    * isnull 0
    */            private Integer shopId;
    /**
    * 订单编号
    * isnull 0
    */            private String orderSn;
    /**
    * 用户id
    * isnull 0
    */            private Integer userId;
    /**
    * 订单类型;0-普通订单
    * isnull 0
    */            private Integer orderType;
    /**
    * 订单来源;1-app 2-pc
    * isnull 0
    */            private Integer orderSource;
    /**
    * 订单状态;0-待付款;1-待发货;2-待收货;3-已完成;4-已关闭
    * isnull 0
    */            private Object orderStatus;
    /**
    * 支付状态;0-待支付;1-已支付;2-已退款;3-拒绝退款
    * isnull 0
    */            private Object payStatus;
    /**
    * 配送方式：0-快递配送；
    * isnull 0
    */            private Integer deliveryType;
    /**
    * 1-微信支付  2-支付宝支付 3-余额支付  4-线下支付
    * isnull 0
    */            private Integer payWay;
    /**
    * 支付时间
    * isnull 0
    */        @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
            private LocalDateTime payTime;
    /**
    * 收货人
    * isnull 0
    */            private String consignee;
    /**
    * 省份
    * isnull 0
    */            private Integer province;
    /**
    * 城市
    * isnull 0
    */            private Integer city;
    /**
    * 县区
    * isnull 0
    */            private Integer district;
    /**
    * 地址
    * isnull 0
    */            private String address;
    /**
    * 手机
    * isnull 0
    */            private String mobile;
    /**
    * 订单商品总价
    * isnull 0
    */            private BigDecimal goodsPrice;
    /**
    * 优惠金额
    * isnull 0
    */            private BigDecimal discountAmount;
    /**
    * 订单总价
    * isnull 0
    */            private BigDecimal totalAmount;
    /**
    * 订单商品数量
    * isnull 0
    */            private Integer totalNum;
    /**
    * 发货状态
    * isnull 0
    */            private Object shippingStatus;
    /**
    * 运费
    * isnull 0
    */            private BigDecimal shippingPrice;
    /**
    * 最后新发货时间
    * isnull 0
    */        @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
            private LocalDateTime shippingTime;
    /**
    * 第三方平台交易流水号
    * isnull 0
    */            private String transactionId;
    /**
    * 用户备注
    * isnull 0
    */            private String userRemark;
    /**
    * 确认收货时间
    * isnull 0
    */        @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
            private LocalDateTime confirmTakeTime;
    /**
    * 订单取消时间
    * isnull 0
    */        @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
            private LocalDateTime cancelTime;
    /**
    * 退款状态：0-未退款；1-部分退款；2-全部退款
    * isnull 0
    */            private Integer refundStatus;
    /**
    * 结算id；0-未结算
    * isnull 0
    */            private Integer settleId;
    /**
    * 结算金额
    * isnull 0
    */            private BigDecimal settleAmount;
    /**
    * 退款金额
    * isnull 0
    */            private BigDecimal refundAmount;
    /**
    * 删除标识;1-删除;0-未删除
    * isnull 0
    */            private Integer del;
    /**
    * 下单时间
    * isnull 0
    */        @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
            private LocalDateTime createTime;
    /**
    * 更新时间
    * isnull 0
    */        @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
            private LocalDateTime updateTime;
    /**
    * 用户优惠券id
    * isnull 0
    */            private Integer couponListId;
    /**
    * 订单备注
    * isnull 0
    */            private String orderRemarks;
    /**
    * 标识子订单是否已评价
0-所有子订单未评价
1-部分子订单已评价
2-所有子订单已评价
    * isnull 0
    */            private Object isComment;
    /**
    * 一级分润
    * isnull 0
    */            private BigDecimal distributionMoney;
    /**
    * 二级分润
    * isnull 0
    */            private BigDecimal firstRatio;
    /**
    * 标识子订单是否是直接退款，0表示售后退款或者未退款，1表示直接退款
    * isnull 0
    */            private Object secondRatio;
    /**
    * 商家删除：1-删除；0-未删除
    * isnull 0
    */            private Integer delete;
        
    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }
        
    public Integer getTradeId() {
        return tradeId;
    }

    public void setTradeId(Integer tradeId) {
        this.tradeId = tradeId;
    }
        
    public Integer getShopId() {
        return shopId;
    }

    public void setShopId(Integer shopId) {
        this.shopId = shopId;
    }
        
    public String getOrderSn() {
        return orderSn;
    }

    public void setOrderSn(String orderSn) {
        this.orderSn = orderSn;
    }
        
    public Integer getUserId() {
        return userId;
    }

    public void setUserId(Integer userId) {
        this.userId = userId;
    }
        
    public Integer getOrderType() {
        return orderType;
    }

    public void setOrderType(Integer orderType) {
        this.orderType = orderType;
    }
        
    public Integer getOrderSource() {
        return orderSource;
    }

    public void setOrderSource(Integer orderSource) {
        this.orderSource = orderSource;
    }
        
    public Object getOrderStatus() {
        return orderStatus;
    }

    public void setOrderStatus(Object orderStatus) {
        this.orderStatus = orderStatus;
    }
        
    public Object getPayStatus() {
        return payStatus;
    }

    public void setPayStatus(Object payStatus) {
        this.payStatus = payStatus;
    }
        
    public Integer getDeliveryType() {
        return deliveryType;
    }

    public void setDeliveryType(Integer deliveryType) {
        this.deliveryType = deliveryType;
    }
        
    public Integer getPayWay() {
        return payWay;
    }

    public void setPayWay(Integer payWay) {
        this.payWay = payWay;
    }
        
    public LocalDateTime getPayTime() {
        return payTime;
    }

    public void setPayTime(LocalDateTime payTime) {
        this.payTime = payTime;
    }
        
    public String getConsignee() {
        return consignee;
    }

    public void setConsignee(String consignee) {
        this.consignee = consignee;
    }
        
    public Integer getProvince() {
        return province;
    }

    public void setProvince(Integer province) {
        this.province = province;
    }
        
    public Integer getCity() {
        return city;
    }

    public void setCity(Integer city) {
        this.city = city;
    }
        
    public Integer getDistrict() {
        return district;
    }

    public void setDistrict(Integer district) {
        this.district = district;
    }
        
    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }
        
    public String getMobile() {
        return mobile;
    }

    public void setMobile(String mobile) {
        this.mobile = mobile;
    }
        
    public BigDecimal getGoodsPrice() {
        return goodsPrice;
    }

    public void setGoodsPrice(BigDecimal goodsPrice) {
        this.goodsPrice = goodsPrice;
    }
        
    public BigDecimal getDiscountAmount() {
        return discountAmount;
    }

    public void setDiscountAmount(BigDecimal discountAmount) {
        this.discountAmount = discountAmount;
    }
        
    public BigDecimal getTotalAmount() {
        return totalAmount;
    }

    public void setTotalAmount(BigDecimal totalAmount) {
        this.totalAmount = totalAmount;
    }
        
    public Integer getTotalNum() {
        return totalNum;
    }

    public void setTotalNum(Integer totalNum) {
        this.totalNum = totalNum;
    }
        
    public Object getShippingStatus() {
        return shippingStatus;
    }

    public void setShippingStatus(Object shippingStatus) {
        this.shippingStatus = shippingStatus;
    }
        
    public BigDecimal getShippingPrice() {
        return shippingPrice;
    }

    public void setShippingPrice(BigDecimal shippingPrice) {
        this.shippingPrice = shippingPrice;
    }
        
    public LocalDateTime getShippingTime() {
        return shippingTime;
    }

    public void setShippingTime(LocalDateTime shippingTime) {
        this.shippingTime = shippingTime;
    }
        
    public String getTransactionId() {
        return transactionId;
    }

    public void setTransactionId(String transactionId) {
        this.transactionId = transactionId;
    }
        
    public String getUserRemark() {
        return userRemark;
    }

    public void setUserRemark(String userRemark) {
        this.userRemark = userRemark;
    }
        
    public LocalDateTime getConfirmTakeTime() {
        return confirmTakeTime;
    }

    public void setConfirmTakeTime(LocalDateTime confirmTakeTime) {
        this.confirmTakeTime = confirmTakeTime;
    }
        
    public LocalDateTime getCancelTime() {
        return cancelTime;
    }

    public void setCancelTime(LocalDateTime cancelTime) {
        this.cancelTime = cancelTime;
    }
        
    public Integer getRefundStatus() {
        return refundStatus;
    }

    public void setRefundStatus(Integer refundStatus) {
        this.refundStatus = refundStatus;
    }
        
    public Integer getSettleId() {
        return settleId;
    }

    public void setSettleId(Integer settleId) {
        this.settleId = settleId;
    }
        
    public BigDecimal getSettleAmount() {
        return settleAmount;
    }

    public void setSettleAmount(BigDecimal settleAmount) {
        this.settleAmount = settleAmount;
    }
        
    public BigDecimal getRefundAmount() {
        return refundAmount;
    }

    public void setRefundAmount(BigDecimal refundAmount) {
        this.refundAmount = refundAmount;
    }
        
    public Integer getDel() {
        return del;
    }

    public void setDel(Integer del) {
        this.del = del;
    }
        
    public LocalDateTime getCreateTime() {
        return createTime;
    }

    public void setCreateTime(LocalDateTime createTime) {
        this.createTime = createTime;
    }
        
    public LocalDateTime getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(LocalDateTime updateTime) {
        this.updateTime = updateTime;
    }
        
    public Integer getCouponListId() {
        return couponListId;
    }

    public void setCouponListId(Integer couponListId) {
        this.couponListId = couponListId;
    }
        
    public String getOrderRemarks() {
        return orderRemarks;
    }

    public void setOrderRemarks(String orderRemarks) {
        this.orderRemarks = orderRemarks;
    }
        
    public Object getIsComment() {
        return isComment;
    }

    public void setIsComment(Object isComment) {
        this.isComment = isComment;
    }
        
    public BigDecimal getDistributionMoney() {
        return distributionMoney;
    }

    public void setDistributionMoney(BigDecimal distributionMoney) {
        this.distributionMoney = distributionMoney;
    }
        
    public BigDecimal getFirstRatio() {
        return firstRatio;
    }

    public void setFirstRatio(BigDecimal firstRatio) {
        this.firstRatio = firstRatio;
    }
        
    public Object getSecondRatio() {
        return secondRatio;
    }

    public void setSecondRatio(Object secondRatio) {
        this.secondRatio = secondRatio;
    }
        
    public Integer getDelete() {
        return delete;
    }

    public void setDelete(Integer delete) {
        this.delete = delete;
    }

        @Override
    public String toString() {
        return "{" +
                    " \"id\":" + id +
                                  " ,\"tradeId\":" + tradeId +
                            " ,\"shopId\":" + shopId +
                            " ,\"orderSn\":" + orderSn +
                            " ,\"userId\":" + userId +
                            " ,\"orderType\":" + orderType +
                            " ,\"orderSource\":" + orderSource +
                            " ,\"orderStatus\":" + orderStatus +
                            " ,\"payStatus\":" + payStatus +
                            " ,\"deliveryType\":" + deliveryType +
                            " ,\"payWay\":" + payWay +
                            " ,\"payTime\":" + payTime +
                            " ,\"consignee\":" + consignee +
                            " ,\"province\":" + province +
                            " ,\"city\":" + city +
                            " ,\"district\":" + district +
                            " ,\"address\":" + address +
                            " ,\"mobile\":" + mobile +
                            " ,\"goodsPrice\":" + goodsPrice +
                            " ,\"discountAmount\":" + discountAmount +
                            " ,\"totalAmount\":" + totalAmount +
                            " ,\"totalNum\":" + totalNum +
                            " ,\"shippingStatus\":" + shippingStatus +
                            " ,\"shippingPrice\":" + shippingPrice +
                            " ,\"shippingTime\":" + shippingTime +
                            " ,\"transactionId\":" + transactionId +
                            " ,\"userRemark\":" + userRemark +
                            " ,\"confirmTakeTime\":" + confirmTakeTime +
                            " ,\"cancelTime\":" + cancelTime +
                            " ,\"refundStatus\":" + refundStatus +
                            " ,\"settleId\":" + settleId +
                            " ,\"settleAmount\":" + settleAmount +
                            " ,\"refundAmount\":" + refundAmount +
                            " ,\"del\":" + del +
                            " ,\"createTime\":" + createTime +
                            " ,\"updateTime\":" + updateTime +
                            " ,\"couponListId\":" + couponListId +
                            " ,\"orderRemarks\":" + orderRemarks +
                            " ,\"isComment\":" + isComment +
                            " ,\"distributionMoney\":" + distributionMoney +
                            " ,\"firstRatio\":" + firstRatio +
                            " ,\"secondRatio\":" + secondRatio +
                            " ,\"delete\":" + delete +
                  '}';
    }


}
